<?php
declare(strict_types = 1);

namespace app\admin\controller;

use app\admin\controller\AdminBase;
use app\admin\business\AdminUserBusiness;
use think\facade\View;

class Login extends AdminBase
{
    public function initialize()
    {
        if ($this->isLogin()) {
            # code...
            return $this->redirect((string) url('index/index'), 302);
        }
    }

    //
    public function index()
    {
        return View::fetch();
    }

    public function md5()
    {
        // echo session('admin_user', null);
        if (session('?admin_user')) {
            echo 1;
        } else {
            echo 0;
        }
    }

    public function check()
    {
        if (request()->isPost()) {
            $input = [
                'username' => input('username'),
                'password' => input('password'),
                'captcha' => input('captcha')
            ];
            // return json($input);
            
            // 验证帐号密码验证码是否为空！
            // if (empty($input['captcha']) || empty($input['username']) || empty($input['password'])) {
            //     return show(config('status.error'), '不能为空哦！');
            // }
            
            // 判断验证码是否正确！
            // if (!captcha_check($input['captcha'])) {
            //     return show(config('status.error'), '验证码错误');
            // }

            // 通过trycatch可以获取到business层的异常。
            try {
                $adminUserBusiness = new AdminUserBusiness();
                $result = $adminUserBusiness->getUsername($input);
            } catch (\Exception $e) {
                return show(config('status.error'), $e->getMessage());
            }

            // 无异常则正常登陆！
            return show(config('status.success'), '登录成功');
        } else {
            return show(config('status.error'), '传输类型错误！');
        }
    }
}
